package it.clariter.web.action;

import it.clariter.dao.UtenteDAO;
import it.clariter.model.Utente;
import it.clariter.web.form.UtenteForm;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class LoginAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		UtenteForm l = (UtenteForm) form;
		
		Utente utente=null;
		HttpSession session=request.getSession();
		
		if(session.getAttribute("utente")!=null){
			utente=(Utente) session.getAttribute("utente");
			return mapping.findForward("ok");
		}
			
		utente = new Utente();
		utente.setLogin(l.getLogin());
		utente.setPassword(l.getPassword());
		utente=new UtenteDAO().findByLoginEPassword(utente);
		
		
		if(utente==null || utente.getStato()==ActionConstants.STATO_NON_ATTIVO) {
			
			request.setAttribute("messaggio", "-AUTENTICAZIONE FALLITA- Prego ritentare oppure contattare l'amministratore del sistema");
			return mapping.findForward("ko");
		}
		
		session.setAttribute("utente", utente);
		return mapping.findForward("ok");

	}

}
